package cn.kgc.exception.Work01;

import cn.kgc.exception.InvalidAgeExceotion;

public class Student {
    /*
     * 1、定义一个Student类，
     * 包含“学号（Sno）”、“姓名（Sname）”、“年龄（Sage）”、“学校（Scollege）”
     * 四个属性和一个printInfor()方法，
     * printInfor()方法的功能是输出学生的四个属性信息。
     * 学号规则为年份+班级+编号，如20190603，
     * 如果长度小于8位，抛出自定义异常类(IllegleSnoException)、
     * 检测年龄不能为负数和大于200岁，抛出自定义异常类(IllegleSageException)。
     */
    private String Sno;//学号
    private String Sname;
    private int Sage;
    private String Scollege;
    public Student() {
    }
    public Student(String sno, String sname, int sage, String scollege) {
        this.Sno = sno;
        this.Sname = sname;
        this.Sage = sage;
        this.Scollege = scollege;
    }

    public String getSno() {
        return Sno;
    }

    public void setSno(String sno){
        if (sno.length()<8){
            throw new IllegleSnoException("不符合学号定义规则!");
        }
        this.Sno=sno;
    }

    public String getSname() {
        return Sname;
    }

    public void setSname(String sname) {
        this.Sname = sname;
    }

    public int  getSage() {
        return Sage;
    }

    public void setSage(int sage){
        if(sage>0&&sage<200){
            this.Sage = sage;
        }else {
            throw new InvalidAgeExceotion("年龄不能为负数或超过200岁!");
        }

    }

    public String getScollege() {
        return Scollege;
    }

    public void setScollege(String scollege) {
       this.Scollege = scollege;
    }
    public void printlnfor() {
        System.out.print("姓名："+getSname()+"\n学校："+getScollege()+
                "\n年龄："+getSage()+"\n学号："+getSno()+"\n");
    }
}
